package com.brainhealth.common.enums;

/**
 * 埋点路径枚举
 * @author wll
 */
public enum BuriedPointPathEnum {
    /**
     * H5 付费
     */
    H5_REGISTER_LINK(1,"H5付费", 1,"注册",1,"链接"),
    H5_REGISTER_DETAIL(1,"H5付费", 1,"注册",2,"详情页"),
    H5_REGISTER_PAGE(1,"H5付费", 1,"注册",3,"注册页"),
    H5_PAY_INDEX(1,"H5付费", 2,"支付",1,"支付页"),
    H5_PAY_SUCCESS(1,"H5付费", 2,"支付",2,"付款成功页"),
    H5_PAY_FAIL(1,"H5付费", 2,"支付",3,"付款失败页"),
    H5_PAY_EXCEPTION(1,"H5付费", 2,"支付",4,"付款异常页"),

    /**
     * 登录
     */
    LOGIN_LOGIN_OFFICIAL_ACCOUNTS(2,"登录", 1,"登录",1,"公众号入口"),
    LOGIN_LOGIN_TIP(2,"登录", 1,"登录",2,"提示页"),
    LOGIN_LOGIN_INDEX(2,"登录", 1,"登录",3,"登陆页"),
    LOGIN_LOGIN_FAIL(2,"登录", 1,"登录",4,"登陆失败弹窗"),

    /**
     * 青竹
     */
    QING_ZHU_STATIC_PAGE(3,"青竹", 1,"青竹",1,"青竹静态页"),
    QING_ZHU_FLOW_WINDOW(3,"青竹", 1,"青竹",2,"青竹浮窗"),
    ERNIE_BOT_FLOW_WINDOW(3,"青竹", 1,"青竹",3,"文心一言浮窗"),
    QING_ZHU_SIGN(3,"青竹", 2,"签到",1,"签到"),
    QING_ZHU_VIDEO_TRAIN(3,"青竹", 3,"视频训练",1,"视频训练"),
    QING_ZHU_VIDEO_SMALL(3,"青竹", 3,"视频训练",2,"小窗口播放页"),
    QING_ZHU_VIDEO_BIG(3,"青竹", 3,"视频训练",3,"大窗口播放页"),
    QING_ZHU_GAME_TRAIN(3,"青竹", 4,"脑力训练",1,"脑力训练"),
    QING_ZHU_GAME_RULE(3,"青竹", 4,"脑力训练",2,"游戏规则页"),
    QING_ZHU_GAME_NOT_COMPLETED(3,"青竹", 4,"脑力训练",3,"脑力训练未完成"),
    QING_ZHU_GAME_COMPLETED(3,"青竹", 4,"脑力训练",4,"脑力训练已完成"),
    QING_ZHU_TODAY_REPORT(3,"青竹", 5,"今次训练报告",1,"今次训练报告"),
    QING_ZHU_7_DAYS_REPORT(3,"青竹", 6,"7次训练报告",1,"7次训练报告"),
    QING_ZHU_7_DAYS_REPORT_RESULT(3,"青竹", 6,"7次训练报告",2,"7次训练报告结果页"),
    QING_ZHU_28_DAYS_REPORT(3,"青竹", 7,"28次训练报告",1,"28次训练报告"),
    QING_ZHU_28_DAYS_REPORT_RESULT(3,"青竹", 7,"28次训练报告",2,"28次训练报告结果页"),
    QING_ZHU_MORE_LEARNING_HALL(3,"青竹", 8,"更多功能",1,"学习大厅"),
    QING_ZHU_MORE_GROW_UP_RECORD(3,"青竹", 8,"更多功能",2,"成长记录"),
    QING_ZHU_MORE_SERVICE_RULE(3,"青竹", 8,"更多功能",3,"服务规则"),
    QING_ZHU_MORE_KNOWLEDGE(3,"青竹", 8,"更多功能",4,"更多知识"),

    /**
     * 续费
     */
    RENEW_ENTRANCE_QING_ZHU(4,"续费", 1,"入口",1,"青竹对话内续费卡片"),
    RENEW_ENTRANCE_LEARNING_HALL(4,"续费", 1,"入口",2,"学习大厅入口"),
    RENEW_ENTRANCE_MINE(4,"续费", 1,"入口",3,"我的页面入口"),
    RENEW_PAY_BUY(4,"续费", 2,"支付",1,"开通课程"),
    RENEW_PAY_CLICK(4,"续费", 2,"支付",2,"点击支付"),
    RENEW_PAY_SUCCESS(4,"续费", 2,"支付",3,"支付成功"),
    RENEW_PAY_NOT_COMPLETED(4,"续费", 2,"支付",4,"支付未完成"),
    RENEW_PAY_FAIL(4,"续费", 2,"支付",5,"支付失败"),

    /**
     * 学习大厅
     */
    LEARNING_HALL_TRAIN_COURSE_COMPLETED(5,"学习大厅", 1,"训练课程",1,"已完成训练次数"),
    LEARNING_HALL_TRAIN_COURSE_NOT_COMPLETED(5,"学习大厅", 1,"训练课程",2,"未完成训练次数"),
    LEARNING_HALL_TRAIN_DATA_TODAY_DURATION(5,"学习大厅", 2,"训练数据",1,"今日训练时长"),
    LEARNING_HALL_TRAIN_DATA_ACCUMULATE(5,"学习大厅", 2,"训练数据",2,"累计完成训练"),
    LEARNING_HALL_TRAIN_DATA_TOTAL(5,"学习大厅", 2,"训练数据",3,"总训练时长"),
    LEARNING_HALL_VIDEO(5,"学习大厅", 3,"学习视频",1,"学习视频"),
    LEARNING_HALL_SINCE_ARTICLE(5,"学习大厅", 4,"科普文章",1,"科普文章"),
    LEARNING_HALL_COLLECT_MINE(5,"学习大厅", 5,"收藏",1,"我的（入口）"),
    LEARNING_HALL_COLLECT_VIDEO_SMALL(5,"学习大厅", 5,"收藏",2,"学习视频小窗口播放"),
    LEARNING_HALL_COLLECT_VIDEO_BIG(5,"学习大厅", 5,"收藏",3,"学习视频大窗口播放"),
    LEARNING_HALL_COLLECT_VIDEO_SINCE(5,"学习大厅", 5,"收藏",4,"科普文章"),

    /**
     * 等级
     */
    GRADE_ENTRANCE_LEARNING_HALL(6,"等级", 1,"入口",1,"学习大厅"),
    GRADE_ENTRANCE_MINE(6,"等级", 1,"入口",2,"我的"),

    /**
     * 我的
     */
    MINE_RECORD_MINE(7,"我的", 1,"成长档案",1,"我的（入口）"),
    MINE_RECORD_INDEX(7,"我的", 1,"成长档案",2,"成长档案"),
    MINE_RECORD_DETAIL(7,"我的", 1,"成长档案",3,"我的档案详情"),
    MINE_ORDER_INDEX(7,"我的", 2,"订单",1,"我的（入口）");

    private final int sectionCode;
    private final String sectionDesc;
    private final int moduleCode;
    private final String moduleDesc;
    private final int functionCode;
    private final String functionDesc;

    BuriedPointPathEnum(int sectionCode, String sectionDesc, int moduleCode, String moduleDesc, int functionCode, String functionDesc) {
        this.sectionCode = sectionCode;
        this.sectionDesc = sectionDesc;
        this.moduleCode = moduleCode;
        this.moduleDesc = moduleDesc;
        this.functionCode = functionCode;
        this.functionDesc = functionDesc;
    }

    public int getSectionCode() {
        return sectionCode;
    }

    public String getSectionDesc() {
        return sectionDesc;
    }

    public int getModuleCode() {
        return moduleCode;
    }

    public String getModuleDesc() {
        return moduleDesc;
    }

    public int getFunctionCode() {
        return functionCode;
    }

    public String getFunctionDesc() {
        return functionDesc;
    }
}
